Scalable Read-mostly Synchronization Using Passive Reader-Writer Locks
نویسندگان
چکیده
Reader-writer locks (rwlocks) aim to maximize parallelism among readers, but many existing rwlocks either cause readers to contend, or significantly extend writer latency, or both. Further, some scalable rwlocks cannot cope with OS semantics like sleeping inside critical sections, preemption and conditional wait. Though truly scalable rwlocks exist, some of them cannot handle preemption, sleeping inside critical sections, or other important functions required inside OS kernels. This paper describes a new rwlock called the passive reader-writer lock (prwlock) that provides scalable read-side performance as well as small writer latency for TSO architectures. The key of prwlock is a version-based consensus protocol between multiple non-communicating readers and a pending writer. Prwlock leverages bounded staleness of memory consistency to avoid atomic instructions and memory barriers in readers’ common paths, and uses message-passing (e.g., IPI) for straggling readers so that writer lock acquisition latency can be bounded. Evaluation on a 64-core machine shows that prwlock significantly boosts the performance of the Linux virtual memory subsystem, a concurrent hashtable and an in-memory database.
منابع مشابه
Scalable Reader-Writer Synchronization for Shared-Memory Multiprocessors
Reader-writer synchronization relaxes the constraints of mutual exclusion to permit more than one process to inspect a shared object concurrently, as long as none of them changes its value. On uniprocessors, mutual exclusion and readerwriter locks are typically designed to de-schedule blocked processes; however, on shared-memory multiprocessors it is often advantageous to have processes busy wa...
متن کاملReader-Writer Locks for Network Attached Storage and Storage Area Networks
Emerging large-scale data-storage technologies such as Storage Area Networks (SAN) and Network Attached Storage (NAS), being server-less, trade datasharing and security semantics for high throughput and availability. This paper addresses the issue of data-sharing by presenting a Reader-Writer locking mechanism that is controlled by the storage device. Shared-read and exclusive-write access to s...
متن کاملReader-writer Locks for Network Attached Storage and Storage Area Network S 1
Network Attached Storage and Storage Area Networks are emerging as the technology of choice for large-scale data storage. A key feature of such storage devices is that they can be directly accessed by applications without the intervention of le servers. Hence, issues such as data-sharing and security cannot be handled by le-servers. This paper addresses the issue of data-sharing by presenting a...
متن کاملThe Ordering Requirements of Relativistic and Reader-Writer Locking Approaches to Shared Data Access
The semantics of reader-writer locks allow read-side concurrency. Unfortunately, the locking primitives serialize access to the lock variable to an extent that little or no concurrency is realized in practice for small critical sections. Relativistic programming is a methodology that also allows readside concurrency. Relativistic programming uses different ordering constraints than reader-write...
متن کامل